package com.example.springboot.Controller;

import cn.hutool.core.util.StrUtil;
import com.example.springboot.common.AuthAccess;
import com.example.springboot.common.Result;
import com.example.springboot.entity.User;
import com.example.springboot.service.UserService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;


/**
 * 功能:提供接口返回数据
 * 作者：jian
 * 日期：2024/3/13 13:13
 */

@RestController
public class WebController {

    @Resource
    UserService userService;


    @GetMapping("/")
    public Result hello() {
        return Result.success("success");
    }


    @PostMapping("/login")
    public Result login(@RequestBody User user){
        //如果输入数据为空就报错
        System.out.println("hello");
        if (StrUtil.isBlank(user.getUsername())||StrUtil.isBlank(user.getPassword())){
            return Result.error("输入数据不合法");
        }
        user = userService.login(user);
        return Result.success(user);
    }

    @AuthAccess
    @PostMapping("/register")
    public Result register(@RequestBody User user){
        if (StrUtil.isBlank(user.getUsername())||StrUtil.isBlank(user.getPassword())){
            return Result.error("输入数据不合法");
        }
        if ( user.getUsername().length() > 10 || user.getPassword().length() > 20){
            return Result.error("输入数据不合法");
        }
        user = userService.register(user);
        return Result.success(user);
    }

    /**
     * 重置密码
     * @param user
     * @return
     */
    @AuthAccess
    @PutMapping("/password")
    public Result password(@RequestBody User user){
        if (StrUtil.isBlank(user.getUsername())||StrUtil.isBlank(user.getPhone())){
            return Result.error("输入数据不合法");
        }
        userService.resetPassword(user);
        return Result.success();


    }





}   